package com.sharp.portal.service;

import com.github.pagehelper.PageInfo;
import com.sharp.portal.vo.QueryConditionReq;
import com.sharp.kernel.vo.query.QueryRespVO;

import java.util.Map;

/**
 * Title: PortalCommonService
 * Description: Copyright: Copyright (c) 2019 Company: BHFAE
 *
 * @author Sharp
 * @date 2021/2/15 22:05
 */
public interface PortalCommonService  {
    /**
     * 根据id获取实体类型
     *
     * @param id      id
     * @return 实体类型
     */
    QueryRespVO<Map<String, String>> getById(Object id);

    /**
     * 获取全体数据列表
     *
     * @param pageInfo 分页(不分页为空)
     * @return 全体数据列表
     */
    QueryRespVO<Map<String, String>> getAll(PageInfo<?> pageInfo);

    /**
     * 查询数据列表
     *
     * @param req      分页查询req
     * @param pageInfo 分页(不分页为空)
     * @return 查询数据分页列表
     */
    QueryRespVO<Map<String, String>> query(QueryConditionReq req, PageInfo<?> pageInfo);

    /**
     * 添加
     *
     * @param req 添加请求
     * @return 添加个数
     */
    int add(Map<String, String> req);

    /**
     * 修改
     *
     * @param req 修改请求
     * @return 修改个数
     */
    int update(Map<String, String> req);

    /**
     * 删除
     *
     * @param id 删除id
     * @return 删除个数
     */
    int delete(Object id);

    /**
     * 失效
     *
     * @param id 失效id
     * @return 失效个数
     */
    int disable(Object id);

    /**
     * 刷新缓存
     */
    void refreshCache();
}
